The :reactive property is used on StButton to like the :sensitive
property on GtkWidgets, that is, to indicate that the user is not
(yet) expected to click the button, and therefore should affect
styling too.
This allows to remove some code at the JS layer.
https://bugzilla.gnome.org/show_bug.cgi?id=619955
this._okButton.button.reactive = valid;
this._okButton.button.can_focus = valid;
- if (valid)
- this._okButton.button.remove_style_pseudo_class('disabled');
- else
- this._okButton.button.add_style_pseudo_class('disabled');
},
_onOk: function() {
G_TYPE_INT);
}
+static void
+notify_reactive_cb (StWidget *button)
+{
+ if (clutter_actor_get_reactive (CLUTTER_ACTOR (button)))
+ st_widget_remove_style_pseudo_class (button, "disabled");
+ else
+ st_widget_add_style_pseudo_class (button, "disabled");
+}
+
static void
st_button_init (StButton *button)
{
clutter_actor_set_reactive (CLUTTER_ACTOR (button), TRUE);
st_widget_set_track_hover (ST_WIDGET (button), TRUE);
+
+ g_signal_connect(button, "notify::reactive",
+ G_CALLBACK (notify_reactive_cb), NULL);
}
/**